home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / zppequ.z / zppequ
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. ZZZZPPPPPPPPEEEEQQQQUUUU((((3333FFFF))))                                                          ZZZZPPPPPPPPEEEEQQQQUUUU((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZPPEQU - compute row and column scalings intended to equilibrate a
  10.      Hermitian positive definite matrix A in packed storage and reduce its
  11.      condition number (with respect to the two-norm)
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      SUBROUTINE ZPPEQU( UPLO, N, AP, S, SCOND, AMAX, INFO )
  15.  
  16.          CHARACTER      UPLO
  17.  
  18.          INTEGER        INFO, N
  19.  
  20.          DOUBLE         PRECISION AMAX, SCOND
  21.  
  22.          DOUBLE         PRECISION S( * )
  23.  
  24.          COMPLEX*16     AP( * )
  25.  
  26. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  27.      ZPPEQU computes row and column scalings intended to equilibrate a
  28.      Hermitian positive definite matrix A in packed storage and reduce its
  29.      condition number (with respect to the two-norm).  S contains the scale
  30.      factors, S(i)=1/sqrt(A(i,i)), chosen so that the scaled matrix B with
  31.      elements B(i,j)=S(i)*A(i,j)*S(j) has ones on the diagonal.  This choice
  32.      of S puts the condition number of B within a factor N of the smallest
  33.      possible condition number over all possible diagonal scalings.
  34.  
  35.  
  36. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  37.      UPLO    (input) CHARACTER*1
  38.              = 'U':  Upper triangle of A is stored;
  39.              = 'L':  Lower triangle of A is stored.
  40.  
  41.      N       (input) INTEGER
  42.              The order of the matrix A.  N >= 0.
  43.  
  44.      AP      (input) COMPLEX*16 array, dimension (N*(N+1)/2)
  45.              The upper or lower triangle of the Hermitian matrix A, packed
  46.              columnwise in a linear array.  The j-th column of A is stored in
  47.              the array AP as follows:  if UPLO = 'U', AP(i + (j-1)*j/2) =
  48.              A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) =
  49.              A(i,j) for j<=i<=n.
  50.  
  51.      S       (output) DOUBLE PRECISION array, dimension (N)
  52.              If INFO = 0, S contains the scale factors for A.
  53.  
  54.      SCOND   (output) DOUBLE PRECISION
  55.              If INFO = 0, S contains the ratio of the smallest S(i) to the
  56.              largest S(i).  If SCOND >= 0.1 and AMAX is neither too large nor
  57.              too small, it is not worth scaling by S.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ZZZZPPPPPPPPEEEEQQQQUUUU((((3333FFFF))))                                                          ZZZZPPPPPPPPEEEEQQQQUUUU((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      AMAX    (output) DOUBLE PRECISION
  75.              Absolute value of largest matrix element.  If AMAX is very close
  76.              to overflow or very close to underflow, the matrix should be
  77.              scaled.
  78.  
  79.      INFO    (output) INTEGER
  80.              = 0:  successful exit
  81.              < 0:  if INFO = -i, the i-th argument had an illegal value
  82.              > 0:  if INFO = i, the i-th diagonal element is nonpositive.
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.